import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Frank
 */
public class LectorDeArchivo {
    
    private File archivo;
    public int tiposDeSopa = 0;
    public int[][] informacionMezcla;
    public int[][] matrizAlistamiento;
    
    public LectorDeArchivo(File archivo) {
        this.archivo = archivo;
    }
    
    public void leerArchivo() {
        FileReader fr = null;
        BufferedReader br = null;
        try
        {
            fr = new FileReader (archivo);
            br = new BufferedReader(fr);
            String linea;              
            int posFilasInfo = -1;            
            int posColumnas = 0;
            int posFilasMatriz = 0;
            while((linea = br.readLine()) != null)
            {   
                String dato = "";
                for(int i = 0; i<linea.length(); i++)
                {
                    if(linea.charAt(i) != ' ') {
                        dato += linea.charAt(i);                        
                    }
                    if((tiposDeSopa != 0) && (posFilasInfo < tiposDeSopa)) {
                        if((linea.charAt(i) == ' ') || ((i+1) == linea.length())) {
                            informacionMezcla[posFilasInfo][posColumnas] = Integer.parseInt(dato);                            
                            posColumnas++;
                            dato = "";
                            posFilasMatriz = -1;
                        }
                    }
                    else {
                        if((tiposDeSopa != 0) && (posFilasMatriz < (tiposDeSopa*(tiposDeSopa-1)))) {
                            if((linea.charAt(i) == ' ') || ((i+1) == linea.length())) {
                                matrizAlistamiento[posFilasMatriz][posColumnas] = Integer.parseInt(dato);
                                posColumnas++;
                                dato = "";
                            }
                        }
                    }
                }
                posColumnas = 0;
                posFilasInfo++;
                posFilasMatriz++;
                
                if(dato.length() == 1) {
                    tiposDeSopa = Integer.parseInt(dato);
                    informacionMezcla = new int[tiposDeSopa][3];
                    matrizAlistamiento = new int[tiposDeSopa*(tiposDeSopa-1)][3];
                }                
            }
        }catch(IOException | NumberFormatException e){
        }finally{
            try{
                if( null != fr ){
                    fr.close();
                }
            }catch (Exception e2){
            }
        }
    }
    
    public int getTiposDeSopa() {
        return tiposDeSopa;
    }
    
    public int[][] getInformacionMezcla() {
        return informacionMezcla;
    }
    
    public int[][] getMatrizAlistamiento() {
        return matrizAlistamiento;
    }
}